package com.ingweb.inventarius.dao;

import java.util.List;

import com.ingweb.inventarius.model.Bodega;

public interface DAOBodega {
	/**
	 * Metodo que obtiene el listado de Bodegas que se encuentran actualmente
	 * en la base de datos.
	 * 
	 * @return Listado de entidades Bodega encontradas
	 */
	public List<Bodega> obtenerBodegas();

	/**
	 * Metodo que devuelve un Bodega a partir de su ID
	 * 
	 * @param codigo
	 *            Valor entero que identifica el Bodega
	 * @return Instancia de Bodega
	 */
	public Bodega obtenerBodega(int codigo);

	/**
	 * Metodo que permite persistir un Bodega en la base de datos
	 * 
	 * @param bodega
	 *            Instancia del Bodega a persistir
	 */
	public void guardarBodega(Bodega bodega);

	/**
	 * Metodo que permite eliminar un Bodega en la base de datos
	 * 
	 * @param bodega
	 *            Instancia del Bodega a eliminar
	 */
	public void eliminarBodega(Bodega bodega);

	/**
	 * Metodo que permite persistir un Poducto ya existente en la base de datos
	 * 
	 * @param bodega
	 *            Instancia del Bodega a persistir
	 */
	public void editarBodega(Bodega bodega);

	/**
	 * Metodo que permite realizar una busqueda de un bodega a partir de una
	 * palabra clave en su atributo nombre
	 * 
	 * @param cadena
	 *            Keyword para realizar la busqueda
	 * @return Listado de entidades de tipo Prodcutoque coinciden con el string
	 *         de busqueda
	 */
	public List<Bodega> buscarBodega(String cadena);
}
